AcsClient Methods

The AcsClient object contains the following methods:

AddGroupMember

The AddGroupMember method adds a member to an ACS group.

Syntax

AddGroupMember(GroupID As String, UserType As String, UserID As String) As Boolean

Parameters

Parameter Required Description

GroupID

Yes

The ID of the ACS group.

UserType

Yes

The type of user specified in the UserID parameter. This value can be one of the following:

  • "AD" — Active Directory
  • "CG" — CygNet Group
  • "US" — User

UserID

Yes

The ID of the user to be added to the group.

Example

The following example adds a user named 'joe.bob' to the 'ADMINS' group:

Copy
AddGroupMember
Sub 
 
    Dim bRet
    bRet = AcsClient.AddGroupMember("ADMINS", "US", "joe.bob")
      
    If (Not(bRet)) Then
        MsgBox "Failed to add group member"
    End If
 
End Sub

Back to top

Connect

The Connect method connects the object to a service.

Syntax

Connect(DomainSiteService As String)

Parameters

Parameter Required Description

DomainSiteService

Yes

The [Domain]Site.Service to which to connect. The domain is optional. The service must be a valid one.

Remarks

Returns 0 if successful and a non-zero value if the connection failed.

Example

The following example connects the Client object to the CYGDEMO.<SVC> on domain 5410:

Copy
Connect
Sub AcsConnect()

    'Connect to an ACS
    Dim AcsClient
    Set AcsClient = CreateObject("CxAcs.AcsClient")
    AcsClient.Connect("[5410]CYGDEMO.ACS")
    
End Sub

Back to top

DeleteGroupMember

The DeleteGroupMember method deletes a member from an ACS group.

Syntax

DeleteGroupMember(GroupID As String, UserID As String) As Boolean

Parameters

Parameter Required Description

GroupID

Yes

The ID of the ACS group.

UserID

Yes

The ID of the user to be deleted from the group.

Example

The following example deletes user 'joe.bob' from the 'ADMINS' group:

Copy
DeleteGroupMember
Sub

    Dim bRet
    bRet = AcsClient.DeleteGroupMember("ADMINS", "joe.bob")
     
    If (Not(bRet)) Then
        MsgBox "Failed to delete group member"
    End If

End Sub

Back to top

Disconnect

The Disconnect method disconnects from the connected service.

Syntax

Disconnect() As Integer

Remarks

The Disconnect method returns 0 if successful and a non-zero value if the disconnect failed.

Example

The following example disconnects the Client object from the connected service, and pops a message box if it is unsuccessful:

Copy
Disconnect
Sub Svc.Disconnect()
 
    <SvcClient>.Disconnect()
    MsgBox "Service has disconnected."
    
    If <SvcClient>.Disconnect <> 0 
    Then
        MsgBox "Failed to disconnect."
    End If

End Sub

Back to top

GetConsoleData

The GetConsoleData method returns the console text and display attributes as two 25x80 arrays of unsigned characters.

Syntax

GetConsoleData(ByRef pText, ByRef pAttr) As Integer

Parameters

Parameter Required Description

pText

Yes

A two-dimensional 25x80 array of console text attributes returned by this method.

pAttr

Yes

A two-dimensional 25x80 array of console display attributes returned by this method.

Remarks

This method returns 0 if successful.

Example

The following example writes the console text and display attributes to a CSV file.

Copy
GetConsoleData
Sub
    Dim aryText, aryAttr, nRet
    nRet = <NameofServiceClientObject>.GetConsoleData(aryText, aryAttr)
 
    ' Write text attributes to CSV file
    Dim i, j, strMsg
        For i = 0 To UBound(aryText, 1)
        For j = 0 To UBound(aryText, 2)
            strMsg = strMsg + CStr(aryText(i, j)) + ","
        Next
            strMsg = strMsg + vbCr
    Next
 
    dim fso, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.OpenTextFile("c:\console_text_attrs.csv", 2, True)
    file.WriteLine(strMsg)
    file.Close 
 
    strMsg = ""
 
    ' Write display attributes to CSV file
        For i = 0 To UBound(aryAttr, 1)
        For j = 0 To UBound(aryAttr, 2)
            strMsg = strMsg + CStr(aryAttr(i, j)) + ","
        Next
            strMsg = strMsg + vbCr
    Next
 
    Set file = fso.OpenTextFile("c:\console_disp_attrs.csv", 2, True)
    file.WriteLine(strMsg)
    file.Close 
 
    MsgBox nRet
End Sub

Back to top

GetGroupMembersByType

The GetGroupMembersByType method retrieves all of the members of a specified type from an ACS group.

Syntax

GetGroupMembersByType(GroupID As String, Type As String, UserList As Array) As Boolean

Parameters

Parameter Required Description

GroupID

Yes

The ID of the ACS group.

Type

Yes

The type of members to be retrieved.  This value can be one of the following:

  • "AD" — Active Directory
  • "CG" — CygNet Group
  • "US" — User.

UserList

Yes

The list of members returned.

Example

The following example retrieves and displays all CygNet Group members in the 'ADMINS' group:

Copy
GetGroupMembersByType
Sub 
 
    Dim membersList
     
    Dim bRet
    bRet = AcsClient.GetGroupMembersByType("ADMINS", "CG", membersList)
      
    Dim strMembers
      
    Dim idx
    For idx = LBound(membersList) To UBound(membersList)
        strMembers = strMembers + membersList(idx) + vbCrLf
    Next
      
    MsgBox strMembers
 
End Sub

Back to top

GetReferences

The GetReferences method refreshes the list of services referenced by the connected service.

Syntax

GetReferences() As Integer

Return Values

This method returns all references for the connected service.

Example

The following example refreshes the connected services:

Copy
GetReferences
Sub GetReferences()
 
    <NameofServiceClientObject>.GetReferences
    MsgBox "Services references retrieved"

End Sub

Back to top

IsUserOk

The IsUserOk method checks if a user has sufficient access level for an app and event.

Syntax

IsUserOk(App As String, Event As String, User As String, Access As String, UserOk As Boolean) As Boolean

Parameters

Parameter Required Description

App

Yes

The security application to check for access privilege.

Event

Yes

The security event to check for access privilege.

User

Yes

The ID of the user that will be checked for access.

Access

Yes

The access level to check against the app and event:

  • "0" or "N" — Access Level 0: No Access
  • "1" or "R" — Access Level 1: Read Access
  • "2" or "U" — Access Level 2: Update Access
  • "3" or "A" — Access Level 3: Add Access
  • "4" or "D" — Access Level 4: Delete Access
  • "5" or "M" — Access Level 5: Admin Access.

UserOk

Yes

True if the user has sufficient access level for this app and event, otherwise false.

Example

The following VBScript code example checks the "Read" access level of user "cygnet.user" for security app and event "DDS ODBC":

Copy
IsUserOk
Function CheckIsUserOK(ByVal strACS_SS As String, ByVal strAPP As String, ByVal strEvent As String, ByVal strUser As String, ByVal strAccess As String) As Boolean
 
    Dim objAcsClient As New CxAcsLib.AcsClient
    Dim blnPermStatus As Variant
    blnPermStatus = False
     
    objAcsClient.Connect (strACS_SS)
        If objAcsClient.IsConnected Then
         
            objAcsClient.IsUserOk strAPP, strEvent, strUser, strAccess, blnPermStatus
            objAcsClient.Disconnect
         
        End If
     
    Set objAcsClient = Nothing
    CheckIsUserOK = blnPermStatus
     
    End Function
     
    Sub CheckIsUserOK_Macro()
        Dim blnCheck As Boolean
        blnCheck = CheckIsUserOK("[12345]MYSITE.ACS", "DDS", "ODBC", "VSI\cygnet.user", "R")
        MsgBox (blnCheck)
    End Sub

 

Note: To get the same query to work in VBA (for MS Access), change "Dim blnPermStatus As Variant" to "Dim blnPermStatus As Boolean".

Back to top